home *** CD-ROM | disk | FTP | other *** search
/ Chip 1996 April / CHIP 1996 aprilis (CD06).zip / CHIP_CD06.ISO / xara_vw / viewer / xviewer.exe / PSRESTYPE / PROLOG_PS next >
Text File  |  1995-10-25  |  9KB  |  132 lines

  1. /bd{bind def}bind def/sv{save}bd/rs{restore}bd/bg{begin}bd/en{end}bd
  2. /Max{2 copy lt{exch}if pop}bd/Min{2 copy gt{exch}if pop}bind def/Pythag{dup
  3. mul exch dup mul add sqrt}bd/DataString 3 string def/DataSrc{currentfile
  4. DataString readhexstring pop}bd/colorimage where{pop/ci{colorimage}bd}{
  5. /ci{pop pop/ci_datasrc exch def matrix invertmatrix/ci_matrix exch
  6. def pop 0 1 3 -1 roll 1 sub{/ci_y exch def dup 0 1 3 -1 roll 1 sub{ci_datasrc
  7. dup 0 get 255 div exch dup 1 get 255 div exch 2 get 255 div setrgbcolor
  8. dup ci_y ci_matrix transform 3 -1 roll 1 add ci_y 1 add ci_matrix transform
  9. Bx fill}for}for pop}bd}ifelse/cbsl{translate scale 8 [ 3 index 0 0
  10. 5 index 0 0 ]/DataSrc load false 3 ci}bd
  11. /NumSteps{dtransform matrix defaultmatrix idtransform Pythag currentscreen
  12. pop pop 72 exch div div}bd/FindMinSteps{v_ft 4 eq{urx startX sub abs
  13. llx startX sub abs Max ury startY sub abs lly startY sub abs Max Pythag
  14. 2 3.14159265 mul mul 0}{v_ft 2 eq{endY startY sub endX startX sub Pythag
  15. endY2 startY sub endX2 startX sub Pythag gt{endY startY sub endX startX
  16. sub}{endY2 startY sub endX2 startX sub}ifelse}{endY startY sub endX
  17. startX sub}ifelse}ifelse NumSteps}bd/cxe{/v_cxe exch def}bd/cxm{pop
  18. /v_cxm exch def}bd/cxmt{pop pop}bd/cxt{pop}bd/S_eoclip{currentflat{{eoclip}stopped{dup
  19. currentflat exch sub 20 gt{([Error: PathTooComplex; OffendingCommand: eoclip]\n)print
  20. flush exit}{currentflat 2 add setflat}ifelse}{exit}ifelse}loop setflat}bind
  21. def/S_clip{currentflat{{clip}stopped{dup currentflat exch sub 20 gt{([Error: PathTooComplex; OffendingCommand: clip]\n)print
  22. flush exit}{currentflat 2 add setflat}ifelse}{exit}ifelse}loop setflat}bind
  23. def/S_eofill{currentflat{{eofill}stopped{dup currentflat exch sub 20
  24. gt{([Error: PathTooComplex; OffendingCommand: eofill]\n)print flush
  25. exit}{currentflat 2 add setflat}ifelse}{exit}ifelse}loop setflat}bind
  26. def/linearfill{pathbbox/ury exch def/urx exch def/lly exch def/llx
  27. exch def{S_eoclip}{S_clip}ifelse startX endX eq startY endY eq and
  28. v_cxe 2 ne sC eC eq sM eM eq and sY eY eq and sK eK eq and and or{sC
  29. sM sY sK setcmykcolor newpath llx lly urx ury Bx S_eofill}{false initfx
  30. endX startX sub endY startY sub Pythag/distance exch def/incD distance
  31. Steps div def endY startY sub endX startX sub atan newpath llx lly
  32. urx ury Bx startX startY translate rotate pathbbox/ury exch def/urx
  33. exch def/lly exch def/llx exch def eC eM eY eK setcmykcolor newpath
  34. llx lly urx ury Bx S_eofill sC sM sY sK setcmykcolor newpath llx lly
  35. 0 ury Bx S_eofill/startX 0 def 0 1 Steps 1 sub{stepfx newpath startX
  36. lly startX incD add dup/startX exch def ury Bx S_eofill pop}for}ifelse}bind
  37. def/radialfill{pathbbox/ury exch def/urx exch def/lly exch def/llx
  38. exch def{S_eoclip}{S_clip}ifelse startX endX eq startY endY eq and
  39. v_cxe 2 ne sC eC eq sM eM eq and sY eY eq and sK eK eq and and or{sC
  40. sM sY sK setcmykcolor newpath llx lly urx ury Bx S_eofill}{false initfx
  41. endX startX sub endY startY sub Pythag/distance exch def/incD distance
  42. Steps div def eC eM eY eK setcmykcolor newpath llx lly urx ury Bx S_eofill
  43. /distance 0 def 0 1 Steps 1 sub{stepfx newpath startX startY distance
  44. 0 360 arc closepath distance incD add dup/distance exch def 0 rmoveto
  45. startX startY distance 0 360 arc closepath S_eofill pop}for}ifelse}bind
  46. def/ellipticalfill{pathbbox/ury exch def/urx exch def/lly exch def
  47. /llx exch def{S_eoclip}{S_clip}ifelse startX endX eq startY endY eq
  48. and v_cxe 2 ne sC eC eq sM eM eq and sY eY eq and sK eK eq and and
  49. or{sC sM sY sK setcmykcolor newpath llx lly urx ury Bx S_eofill}{true
  50. initfx eC eM eY eK setcmykcolor newpath llx lly urx ury Bx S_eofill
  51. [ endX startX sub endY startY sub endX2 startX sub endY2 startY sub
  52. startX startY ] concat Steps 1 sub -1 0{stepfx/i exch def 0 0 moveto
  53. 0 0 i Steps div 0 360 arc fill}for}ifelse}bind def/conicalfill{pathbbox
  54. /ury exch def/urx exch def/lly exch def/llx exch def{S_eoclip}{S_clip}ifelse
  55. startX endX eq startY endY eq and v_cxe 2 ne sC eC eq sM eM eq and
  56. sY eY eq and sK eK eq and and or{sC sM sY sK setcmykcolor newpath llx
  57. lly urx ury Bx S_eofill}{urx startX sub abs llx startX sub abs Max
  58. ury startY sub abs lly startY sub abs Max Pythag startY endY sub startX
  59. endX sub Pythag div/radius exch def true initfx [ endX startX sub endY
  60. startY sub startY endY sub endX startX sub startX startY ] concat/slice
  61. 180 Steps div def/startangle 0 def Steps -1 0{pop stepfx 0 0 moveto
  62. 0 0 radius startangle neg dup slice add arc fill 0 0 moveto 0 0 radius
  63. startangle dup slice add dup/startangle exch def arc fill}for}ifelse}bind
  64. def/initfx{/flag exch def v_cxe 0 eq{sC sM sY sK cmyk2rgb flag{/eB
  65. exch def/eG exch def/eR exch def}{/sB exch def/sG exch def/sR exch
  66. def}ifelse eC eM eY eK cmyk2rgb flag{/sB exch def/sG exch def/sR exch
  67. def}{/eB exch def/eG exch def/eR exch def}ifelse eR sR sub abs 256
  68. mul eG sG sub abs 256 mul Max eB sB sub abs 256 mul Max FindMinSteps
  69. Min 256 Min ceiling 1 Max/Steps exch def/incR eR sR sub Steps div def
  70. /incG eG sG sub Steps div def/incB eB sB sub Steps div def}{sC sM
  71. sY sK cmyk2hsb/sB exch def/sS exch def/sH exch def eC eM eY eK cmyk2hsb
  72. /eB exch def/eS exch def/eH exch def eH sH sub abs v_cxe 1 eq{dup
  73. 0.5 gt{1 exch sub}if}{dup 0.5 lt{1 exch sub}if}ifelse 256 mul eS sS
  74. sub abs 256 mul Max eB sB sub abs 256 mul Max FindMinSteps Min 256
  75. Min ceiling 1 Max/Steps exch def v_cxe 1 eq{/incH eH sH sub dup abs
  76. 0.5 gt{dup 0 ge{1 sub}{1 add}ifelse}if Steps div def/incS eS sS sub
  77. Steps div def/incB eB sB sub Steps div def}{/incH eH sH sub dup abs
  78. 0.5 lt{dup 0 ge{1 sub}{1 add}ifelse}if Steps div def/incS eS sS sub
  79. Steps div def/incB eB sB sub Steps div def}ifelse flag{/sH eH/eH sH
  80. def def/sS eS/eS sS def def/sB eB/eB sB def def/incH incH neg def/incS
  81. incS neg def/incB incB neg def}if}ifelse}bd/stepfx{v_cxe 0 eq{sR sG
  82. sB setrgbcolor sR incR add/sR exch def sG incG add/sG exch def sB incB
  83. add/sB exch def}{sH sS sB sethsbcolor sH incH add dup 0 le{1 add}{dup
  84. 1 ge{1 sub}if}ifelse/sH exch def sS incS add/sS exch def sB incB add
  85. /sB exch def}ifelse}bd
  86. /cmyk2rgb{3{dup 5 -1 roll add dup 1 gt{pop 1}if 1 exch sub exch}repeat
  87. pop}bd/cmyk2hsb{3{dup 5 -1 roll add 1 exch sub dup 0 lt{pop 0}if exch}repeat
  88. pop rgb2hsb}bd/rgb2hsb{3 copy 3 copy/v_B exch def/v_G exch def/v_R
  89. exch def Min Min/v_Min exch def Max Max/v_Max exch def/v_V v_Max def
  90. v_Max v_Min sub dup/v_Delta exch def 0.001 gt{Max 0 gt{/v_S v_Delta
  91. v_Max div def}{/v_S 0 def}ifelse v_R v_Max eq{/v_H v_G v_B sub v_Delta
  92. div def}{v_G v_Max eq{/v_H 2 v_B v_R sub v_Delta div add def}{/v_H
  93. 4 v_R v_G sub v_Delta div add def}ifelse}ifelse/v_H v_H 6 div def v_H
  94. 0 lt{/v_H v_H 1 add def}}{/v_H 0 def/v_S 0 def}ifelse v_H v_S v_V}bd
  95. currentdict/setcmykcolor known{}{/setcmykcolor{cmyk2rgb setrgbcolor}bd}ifelse
  96. /p_render{}def/p_count 0 def/vis_flag true def/aca{/v_wr 0 def/v_fc
  97. 0 def/v_fm 0 def/v_fy 0 def/v_fk 0 def/v_sc 0 def/v_sm 0 def/v_sy 0
  98. def/v_sk 0 def/v_ft 0 def/v_sa -1 def/v_ea -1 def 0.25 setlinewidth
  99. [] 0 setdash 0 setlinejoin 0 setlinecap}bd aca/ar{}bd/arr{pop pop pop
  100. pop pop pop pop}bd/ae{pop pop pop pop pop pop}bd/aoa{pop}bd/apl{pop}bd
  101. /apc{}bd/aof{pop pop}bd/aafs{pop pop pop}bd/O{pop}bd/R{pop}bd/axop{pop
  102. pop pop pop}bd/k{/v_fk exch def/v_fy exch def/v_fm exch def/v_fc exch
  103. def/v_ft 0 def}bd/K{/v_sk exch def/v_sy exch def/v_sm exch def/v_sc
  104. exch def}bd/a_tc{exch pop 1 exch sub dup 3 -1 roll exch div exch dup
  105. 4 -1 roll exch div 3 1 roll dup 5 -1 roll exch div 4 1 roll 5 -1 roll
  106. exch div 4 1 roll}bd/x{a_tc k}bd/X{a_tc K}bd/awr{/v_wr exch def}bd
  107. /w{setlinewidth}bd/j{setlinejoin}bd/J{setlinecap}bd/d{setdash}bd/asc{pop
  108. pop J}bd/aec{pop pop J}bd/csah{pop pop pop}bd/ceah{pop pop pop}bd/cst{pop
  109. pop}bd/cdp{pop}bd/m{moveto}bd/l{lineto}bd/c{curveto}bd/Bx{4 copy 5
  110. 1 roll 4 2 roll 5 -1 roll m l l l closepath}bd/a_fp{gsave v_wr 0 ne
  111. v_ft 0 eq{v_fc v_fm v_fy v_fk setcmykcolor{eofill}{fill}ifelse}{v_ft
  112. 1 eq{linearfill}{v_ft 2 eq{ellipticalfill}{v_ft 3 eq{radialfill}{conicalfill}ifelse}ifelse}ifelse}ifelse
  113. grestore}bd/*u{/p_count p_count 1 add def}bd/*U{/p_count p_count 1
  114. sub def p_count 0 eq{vis_flag{p_render}{newpath}ifelse}if}bd/B{/p_render{a_fp
  115. v_sc v_sm v_sy v_sk setcmykcolor stroke}bd p_count 0 eq{vis_flag{p_render}{newpath}ifelse}if}bd
  116. /b{closepath B}bd/F{/p_render{a_fp newpath}bd p_count 0 eq{vis_flag{p_render}{newpath}ifelse}if}bd
  117. /f{closepath F}bd/S{/p_render{v_sc v_sm v_sy v_sk setcmykcolor stroke}bd
  118. p_count 0 eq{vis_flag{p_render}{newpath}ifelse}if}bd/s{closepath S}bd
  119. /H{/p_render{newpath}bd p_count 0 eq{vis_flag{p_render}{newpath}ifelse}if}bd
  120. /h{closepath H}bd/N{H}bd/n{h}bd/caz{dup/v_ft exch def 2 eq{/endY2
  121. exch def/endX2 exch def}if/endY exch def/endX exch def/startY exch
  122. def/startX exch def/eK exch def/eY exch def/eM exch def/eC exch def
  123. /sK exch def/sY exch def/sM exch def/sC exch def}bd/cax{dup/v_ft exch
  124. def 2 eq{/endY2 exch def/endX2 exch def}if/endY exch def/endX exch
  125. def/startY exch def/startX exch def a_tc 10 4 roll a_tc/sK exch def
  126. /sY exch def/sM exch def/sC exch def/eK exch def/eY exch def/eM exch
  127. def/eC exch def}bd/axm{/endY exch def/endX exch def/startY exch def
  128. /startX exch def}bd/alyr{pop pop 1 eq{true}{false}ifelse/vis_flag
  129. exch def pop pop}bd
  130. /u{}bd/U{}bd/anu{pop}bd
  131. /csbd{8{pop}repeat}bd/cebd{}bd/csbr{8{pop}repeat}bd/cebr{}bd
  132.